package wortubung.lang;

import static wortubung.util.CyrillicScript.*;

import java.util.Collection;

import wortubung.core.LANG;
import wortubung.core.POSInfo;
import wortubung.inflection.VerbConjugation;
import wortubung.util.Printable;
import wortubung.util.TransliterateException;

public class LangRussianManager extends LanguageManager {

	LangRussianManager(Printable prompt) {
		super(prompt);
	}

	@Override public final LANG getLanguage() { return LANG.ru; }

	@Override
    public String toVernacular(String transliterate) throws TransliterateException {
    	return toCyrillic(transliterate);
    }

    @Override
    protected String preprocessWordPattern(String pattern) throws TransliterateException {
    	pattern = toCyrillic(pattern);
    	return pattern.replaceAll("_", " ").replaceAll("\\*", ".*");
    }

	@Override
	public Collection<String> getVerbsOfIrregularConjugations() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public VerbConjugation conjugate(String verb) {
		// TODO Auto-generated method stub
		return null;
	}

    @Override
    public void decline(String params) {
    	// TODO
    }

	@Override
    protected POSInfo parseInflection(String word, POSInfo posInfo, String inflection) {
    	// TODO: Russian-specific inflection/pos parsing.
		return super.parseInflection(word, posInfo, inflection);
    }
}
